General introduction

MSP430

There are several families of MSP430s, all with the same basic set of opcodes:

Some differences between them:

MSP430G2553

The 'Egel project' concentrates mainly on the MSP430G2553 processor with the following hardware: The Egel kit is basically a clone of the MSP-EXP430G2 Launchpad.


Here we use a Launchpad to put an executable on the Egel kit.
1) Launchpad as In System Programmer (video)
2) Launchpad as ISP programmer (article)

Most of the examples also run on other MSP430 processors, but sometimes you will have to adapt the hardware addresses. There are some examples specially for the MSP430F1xx and the MSP430FR5xxx.

Shields

We recommend to use a 'shield' for your experiments because that will save you a lot of soldering. The Egel Kit has already a shield, for the Launchpad starter Kit you could build the Launchpad Explorer (English) or in DutchLaunchpad experimenteerkit, otherwise buy an 'Egel shield' from the author.

I sell on Tindie

The Egel Kit is versatile. It has a 2 Amp. mosfet power output and accepts on its pins ready made components, for example:
Serial Bluetooth module, nRF24L01 transceiver, infrared receiver, Analog sensors, power steering, etc. Links to components, ready made modules and backgound information are added where needed.

noForth

We use noForth in our examples. Forth is an interactive compiler/interpreter. It fits in about 8 kByte of the 16 kByte Flash, so there remains enough workspace. For example to control an autonomous legged robot or control over 300 multicolor leds using an infrared remote control. The noForth language is a 16 bits ISO standard, as far flash memory makes that possible.

Once noForth is on the board, you only need a simple terminal program to execute or compile noForth code or to erase the compiled code.

There is a noForth for MSP430F149, MSP430G2553, MSP430FR2433, MSP430FR59x9, etc. See the noForth page under 'Downloads'.
The noForth metacompiler (crosscompiler) is also available. It runs under a 32 or 64 bit ISO Forth system.

Hardware, assembler and forth

Forth is well equipped for hardware control because it has the commands to access the hardware interactively and directly. No need to embed your commands in a bigger context program that regulates preferences or handles the input or output.

To extract that last bit of performance or for writing code that is executed by an MSP430 interrupt, it is an advantage that machine language can be used organically in forth. Fortunately the MSP430 has a simple and beautiful instruction set.

TI documentation

There is a lot of TI documentation, well written, but hard to decode. The information often must be gathered from several documents, e.g. MPU document and Family User's Guide. In addition you can find examples in assembly or in C and also the Energia platform offers some information. Egel tries to fill in the gap, by giving working examples together with links to the TI-documentation.
The two most used documents in this project:
MSP430x2xx Family users guide:SLAU144J.PDF
Datasheet MSP430G2x53:SLAS735J.PDF